import numpy as np
import cv2 as cv

filename = '../pic/blox.jpg'
img = cv.imread(filename)
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv.cornerHarris(src=gray, blockSize=2, ksize=3, k=0.04)
# 膨胀可以扩大角点周围的像素区域，使其在图像中更加突出，也会连接相近的角点，角点的位置可能会改变
dst = cv.dilate(dst, None)
# 最佳值的阈值，它可能因图像而异 设置一个阈值来区分角点和非角点像素
img[dst > 0.01 * dst.max()] = [0, 0, 255]
cv.imshow('dst', img)

cv.waitKey(0)
cv.destroyAllWindows()
